package cn.fl.riskctrl.brdb.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import fl.riskctrl.facade.brdb.dto.BrscrApplyLnNearDTO;
import cn.fl.riskctrl.brdb.vo.BrscrApplyLnNearVO;


 /**
 * @Description: 百融评分-多次(最近最早)申请核查高级版
  说明:
  1、取"空/N"；空：无申请记录；N申请记录详情。
  2、用户近7/15天、1/3/6/12个月在百融的虚拟信贷联盟(银行、非银、非银细分类型)中的多次信贷申请情况.
  3、客户类型——银行、非银：P2P、小贷、消费类分期、现金类分期、代偿类分期、其他（信保、信托等）。消费类分期：借贷用于购买消费品并分期偿还的业务；现金类分期：支取现金并分期偿还的业务；代偿类分期：借贷用于偿还已有借款并分期偿还的业务；非银其他：包括担保、信保等。
  2.时间维度定义：近1个月-最近30天，近3个月-最近90天、近6个月-最近180天。
  3.输出逻辑：0为填充值，与空的含义相同。
   转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class BrscrApplyLnNearVOTransform {


	/**
	 * DTO 转  VO
	 * @param po BrscrApplyLnNearDTO
	 * @return BrscrApplyLnNearVO
	 */
	public static BrscrApplyLnNearVO toVO(BrscrApplyLnNearDTO dto) {
		BrscrApplyLnNearVO  vo = null;
		if (dto != null) { 
			vo = new BrscrApplyLnNearVO();
			vo.setId(dto.getId());
			vo.setQueryTypCd(dto.getQueryTypCd());//被查询类型(mp:手机号,idCard:身份证ID)
			vo.setFstBkIntedayQty(dto.getFstBkIntedayQty());//距最早在银行机构申请的间隔天数(als_fst_*_bank_inteday)
			vo.setFstNbkIntedayQty(dto.getFstNbkIntedayQty());//距最早在非银行机构申请的间隔天数(als_fst_*_nbank_inteday)
			vo.setLstBkIntedayQty(dto.getLstBkIntedayQty());//距最近在银行机构申请的间隔天数(als_lst_*_bank_inteday)
			vo.setLstBkConsQty(dto.getLstBkConsQty());//最近开始在银行机构连续申请的次数(als_lst_*_bank_consnum)
			vo.setLstBkCsintedayQty(dto.getLstBkCsintedayQty());//最近开始在银行机构连续申请的持续天数(als_lst_*_bank_csinteday )
			vo.setLstNbkIntedayQty(dto.getLstNbkIntedayQty());//距最近在非银行机构申请的间隔天数(als_lst_*_nbank_inteday)
			vo.setLstNbkConsQty(dto.getLstNbkConsQty());//最近开始在非银行机构连续申请的次数(als_lst_*_nbank_consnum)
			vo.setLstNbkCsintedayQty(dto.getLstNbkCsintedayQty());//最近开始在非银机构连续申请的持续天数(als_lst_*_nbank_csinteday )
			vo.setReportNo(dto.getReportNo());//报告编号-关联报告表ID

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto BrscrApplyLnNearVO
	 * @return BrscrApplyLnNearDTO
	 */
	public static BrscrApplyLnNearDTO toDTO(BrscrApplyLnNearVO vo) {
		BrscrApplyLnNearDTO dto = null;
		if (vo != null) {
			dto = new BrscrApplyLnNearDTO();
			dto.setId(vo.getId());
			dto.setQueryTypCd(vo.getQueryTypCd());//被查询类型(mp:手机号,idCard:身份证ID)
			dto.setFstBkIntedayQty(vo.getFstBkIntedayQty());//距最早在银行机构申请的间隔天数(als_fst_*_bank_inteday)
			dto.setFstNbkIntedayQty(vo.getFstNbkIntedayQty());//距最早在非银行机构申请的间隔天数(als_fst_*_nbank_inteday)
			dto.setLstBkIntedayQty(vo.getLstBkIntedayQty());//距最近在银行机构申请的间隔天数(als_lst_*_bank_inteday)
			dto.setLstBkConsQty(vo.getLstBkConsQty());//最近开始在银行机构连续申请的次数(als_lst_*_bank_consnum)
			dto.setLstBkCsintedayQty(vo.getLstBkCsintedayQty());//最近开始在银行机构连续申请的持续天数(als_lst_*_bank_csinteday )
			dto.setLstNbkIntedayQty(vo.getLstNbkIntedayQty());//距最近在非银行机构申请的间隔天数(als_lst_*_nbank_inteday)
			dto.setLstNbkConsQty(vo.getLstNbkConsQty());//最近开始在非银行机构连续申请的次数(als_lst_*_nbank_consnum)
			dto.setLstNbkCsintedayQty(vo.getLstNbkCsintedayQty());//最近开始在非银机构连续申请的持续天数(als_lst_*_nbank_csinteday )
			dto.setReportNo(vo.getReportNo());//报告编号-关联报告表ID

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
}
